Method for file level remote copy of a storage device

ABSTRACT

An object of remote copy can be specified in units of a file or a directory more detailed than in units of a volume. If a host computer issues a write request of a file to NASa, NASa references a source NAS of remote copy and a source directory of remote copy at each entry on a copy file table and determines whether the file to be written is an object of remote copy; if it is determined to be an object of remote copy, the file to be written is remotely copied to a target directory of remote copy of a target NAS thereof.

BACKGROUND OF THE INVENTION

1. Field of the Invention

The present invention relates to a storage system for executing a remotecopy operation, and more particularly to a storage system for specifyingan object of remote copy in units of a file or a directory instead of inunits of a volume.

2. Description of the Related Art

Conventionally, there is a technology which is referred to as remotecopy for copying data between storage systems.

The remote copy is dual writing without an intermediation of a hostcomputer among a plurality of storage systems physically apart from eachother. In the remote copy, storage systems located in a first site and asecond site are connected to each other through a private line or apublic line. Additionally, a logical volume having the same capacity asa logical volume to be copied on the storage system at the first site(hereinafter, referred to as a copy source logical volume) is formed asa logical volume (hereinafter, referred to as a copy destination logicalvolume) paired with the logical volume to be copied on the storagesystem at the first site onto the storage system at the second site.Then, data in the first site copy source logical volume is copied to thesecond site copy destination logical volume. If the data in the firstsite copy source logical volume is updated by the host computer, theupdated data is transferred to the second site storage system andwritten into the copy destination logical volume. In this manner, theduplicate condition of the logical volume is always maintained at thefirst site and the second site in the remote copy technology.

Therefore, even if the storage system at the first site is unusable dueto a natural disaster such as an earthquake or a flood or human disastersuch as a fire or terrorism, the logical volume on the storage system atthe second site can be used to restart operations quickly.

Prior arts related to the remote copy are disclosed in U.S. Pat. No.5,742,792 or in EMC Symmetrix Remote Data Facility (EMC SRDF) L523.7-J11/00.1.

A network attached storage (NAS) is a storage appliance connected to anetwork and used for processing file level access requests. Unlike ablock level storage device (SCSI-connected hard disk, etc.), the NAS hasa file system such as the network filesystem (NFS) and is capable ofprocessing access requests to a file or a directory.

A file server is based on a concept similar to the NAS. The file serveris connected to a network and used for processing file access requestsin the same manner as for the NAS. The NAS differs from the file serverin a respect that the NAS is a storage as an appliance specialized ininput-output services of files and therefore it is useful to construct arobust system resistant to system down in comparison with a normal fileserver, in compensation for an omission of processing completelyunrelated to the input-output services.

Regarding the NAS, there is a description in “Nikkei Electronics; the2000.11.6 (No. 782) issue” (P. 54, 55) published by Nikkei BusinessPublications, Inc.

Regarding the NFS and the NFS server, there is a detailed description in“4.4 BSD Operating System” (P. 311 to 336) by Marshall Kirk McKusick, etal. published by Addison Wesley.

In the foregoing prior art, however, the remote copy is executed inunits of a volume and therefore objects of the remote copy includesminor files, which are not important and do not need to be duplicated,stored in the volume. As a result, an amount of data to be copiedincreases, thereby increasing the time for the copy.

SUMMARY OF THE INVENTION

It is an object of the present invention to provide means for specifyingan object of remote copy for NAS at more detailed levels.

To achieve the above object, a storage system for accepting a filerequest has remote copy information for specifying a destination ofremote copy in units of a file or a directory. Then, the storage systemreceives a write request of a file, determines whether the file forwhich the write request is issued is an object of remote copy on thebasis of the remote copy information, and if it is an object of remotecopy, executes a remote copy operation to a remote copy destinationacquired from the remote copy information. This realizes more detailedremote copy specification in units of a file or a directory.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 is a computer system according to a first embodiment;

FIG. 2 is a configuration diagram of an NAS according to the firstembodiment;

FIG. 3 is a copy file table according to the first embodiment;

FIG. 4 is an example of the copy file table according to the firstembodiment;

FIG. 5 is a flowchart of a write process according to the firstembodiment;

FIG. 6 is a flowchart of a copy source registration process according tothe first embodiment;

FIG. 7 is a flowchart of a copy source deleting process according to thefirst embodiment;

FIG. 8 is a flowchart of a readout process at occurrence of an erroraccording to the first embodiment;

FIG. 9 is a diagram showing a computer system a according to a secondembodiment;

FIG. 10 is a log file entry according to the second embodiment;

FIG. 11 is an example of a log file according to the second embodiment;

FIG. 12 is an emergency table according to the second embodiment;

FIG. 13 is an example of the emergency table according to the secondembodiment;

FIG. 14 is a flowchart of a write process a according to the secondembodiment;

FIG. 15 is a flowchart of a emergency table setting process according tothe second embodiment;

FIG. 16 is a flowchart of a readout process a at occurrence of an erroraccording to the second embodiment;

FIG. 17 is a computer system b according to a third embodiment;

FIG. 18 is an example of a copy file table according to the thirdembodiment;

FIG. 19 is a diagram showing a data flow of remote copy and backupaccording to the third embodiment;

FIG. 20 is a flowchart of a backup process according to the thirdembodiment; and

FIG. 21 is a diagram showing a computer system c according to a fourthembodiment.

DETAILED DESCRIPTION OF THE EMBODIMENTS

Referring to FIG. 1, there is shown a computer system 1000 according toa first embodiment.

The computer system 1000 comprises a host computer 1010 for issuing afile access request, a plurality of NAS devices 1200 for processing fileaccess requests issued by the host computer 1010; NASa 1210, NASb 1220,and NASc 1230, and a network 1020 for connecting them. The host computer1010, NASa 1210, NASb 1220, and NASc 1230 are assumed to be located inbuildings physically tens of kilometers away from each other. Therefore,for example, it is assumed that, even if NASa 1210 becomes unusable dueto a big earthquake in the area where the NASa 1210 is located, theremaining host computer 1010, NASb 1220, NASc 1230, and network 1020connecting them are still usable.

Referring to FIG. 2, there is shown a configuration diagram of the NAS1200. The NAS 1200 stores files written by the host computer 1010 andperforms a file access in response to a request from the host computer1010. The NAS 1200 comprises a disk 1170 actually storing file data andan NAS controller 1100 for accepting the file access request from thehost computer 1010 and writing or reading file data to or from the disk1170.

The NAS controller 1100 comprises a host interface 1120 connected to thenetwork 1020, a disk interface 1130 for exchanging data with the disk1170, ROM 1140 containing a program for controlling the NAS 1200, RAM1150 for retaining data required for controlling the NAS 1200 and thecopy file table 1300 described later and used also as a disk cache, aDMA 1160 for performing a data transfer, and a CPU 1110 for executing acontrol program of the NAS 1200. The NAS 1200 contains a file system1190 so as to process a file access request from the host computer 1010.

Referring to FIG. 3, there is shown the copy file table 1300 havinginformation of remote copy source files or directories and remote copydestinations. In this embodiment, the copy file table 1300 is generatedin the host computer 1010 and copied to each NAS 1200.

A copy file table entry 1310 has information of a source NAS of remotecopy 1320, a source directory (or file) of remote copy 1330, a targetNAS of remote copy 1340, and a target directory of remote copy 1350. Fora free entry having no meaningful information, a value −1 is entered inthe source NAS of remote copy 1320.

The copy file table 1300 is concretely described by using an exampleshown in FIG. 4.

At entry number 0, the source NAS of remote copy 1320 is NASa 1210, thesource directory of remote copy 1330 is /tako/ika.txt, the target NAS ofremote copy 1340 is the NASb 1220, and the target directory of remotecopy 1350 is /uni. This entry means that the file /tako/ika.txt of theNASa 1210 is an object of the remote copy and its remote copydestination is the directory /uni of NASb 1220.

Subsequently, at the entry number 1, the source NAS of remote copy 1320is NASa 1210, the source directory of remote copy 1330 is /apple, thetarget NAS of remote copy 1340 is NASc 1230, and the target directory ofremote copy 1350 is /banana. This means that all files belonging to/apple and subdirectories under it of NASa 1210 are objects of theremote copy and their remote copy destination is /banana of NASb 1220.For example, a file /apple/red/t.c of NASa 1210 is copied to/banana/red/t.c in NASc 1230. (While the remote copy destination can be/banana/t.c, it is assumed that a structure of the subdirectories isalso copied in this embodiment. Naturally the present invention isapplicable in both cases.)

At entry number 2 and after, a value −1 is entered in the source NAS ofremote copy 1320 and these entries are invalid (free).

Therefore, the objects of remote copy are the /tako/ika.txt file and the/apple and subsequent files stored in NASa 1210 in the example shown inFIG. 4.

Referring to FIG. 5, there is shown a flowchart of a write process 5000executed by NAS 1200 when the host computer 1010 issued a write request.

First, in step 5010, a write request and data to be written are receivedfrom the host computer 1010 through the network 1020 and, in step 5020,the write data is written into the disk 1170. Then, in step 5030 thecopy file table is searched for the “corresponding” entry. If the sourceNAS of remote copy 1320 indicates its own NAS 1200 and the file to bewritten is the file indicated by the source directory of remote copy1330 or a file stored in the directory indicated by the source NAS ofremote copy 1330 or in its subdirectory, it is determined to be“corresponding.”

Then, if it is determined that there is no “corresponding” entry in step5040, the control jumps to step 5070 described later and, if it isdetermined that there is the “corresponding” entry, a write request isissued so that the write requested file is written into a file or adirectory indicated by the target directory of remote copy 1350 in theNAS 1200 indicated by the target NAS of remote copy 1340 and then thefile data is transferred to the target NAS 1200 to await a completion ofthe write operation in step 5050.

In step 5060, if a normal completion is returned by the target NAS 1200into which the file is written, a completion notice is returned to thehost computer 1010 in step 5070 and the write process 5000 completes. Ifan abnormal termination is returned from the target NAS 1200, the hostcomputer 1010 is notified of the abnormal termination in step 5080 andthe write process 5000 terminates.

In this manner, when the file to be remotely copied is written into theNAS 1200, it is written into the disk 1170 of the NAS 1200 in which thefile is written, and then the file is written into the target NAS 1200of remote copy 1200 and a write completion is returned to the hostcomputer 1010, by which, if a normal completion is reported after thefile to be remotely copied is written into the target NAS 1200, it isassured from a viewpoint of the host computer 1010 that the written fileis written into two NAS devices 1200 located physically apart from eachother.

Referring to FIG. 6, there is shown a flowchart of the copy sourceregistration process 5200 executed by the host computer 1010 when a userregisters a file or a directory to be remotely copied.

First, the copy file table 1300 is searched for a free entry in whichvalue −1 is entered in the source NAS of remote copy 1320 in step 5210,a user inputs a name of the source NAS of remote copy and sets it to thesource NAS of remote copy 1320 in the free entry in step 5220, inputs afile or directory path to be copied from and sets it to the targetdirectory of remote copy 1330 in the free entry in step 5230, inputs acopy destination NAS and sets it to the target NAS of remote copy 1340in the free entry in step 5240, and inputs a path of the copydestination file or directory and sets it to the target directory ofremote copy 1350 in the free entry in step 5250.

Then, it is determined whether to complete the registration (inquiringof the user whether to complete the registration) in step 5260; unlessthe registration is determined to be completed the control jumps to step5210 or otherwise the copy of the updated copy file table 1300 istransferred to each NAS 1200 (in the configuration of this embodiment,NASa 1210, NASb 1220, and NASc 1230) in step 5270 and then the copysource registration process 5200 completes.

While it is assumed that a free entry is necessarily found in the step5210 to simplify the description in this embodiment, there is a need forinserting a process of an erroneous termination when no free entry isfound in an actual implementation. Apparently this simplification doesnot change the essence of the present invention at all.

Referring to FIG. 7, there is shown a flowchart of the copy sourcedeleting process 5400 to be executed by the host computer 1010 when afile or a directory is required to be removed from objects of remotecopy by deleting an entry from the copy file table 1300.

First, the user inputs a name of the NAS 1200 containing the file or thedirectory that the user wants to remove from the objects of remote copyin step 5410 and then inputs a path of the file or the directory in step5420. Then, the copy file table entry 1310 matching the informationinputted by the user is searched for in step 5430 and it is determinedwhether the corresponding entry is present in step 5440. If it isabsent, the control jumps to step 5460 described later. Otherwise, value−1 is set to the source NAS of remote copy 1320 of the entry in step5450 and then it is determined whether the deletion is finished in step5460. This determination is performed by inquiring of the user whetherto finish the deleting process. Unless the deletion is finished, thecontrol jumps to the step 5410. If it is finished, the copy of theupdated copy file table 1300 is transferred to each NAS 1200 (in theconfiguration of this embodiment, NASa 1210, NASb 1220, and NASc 1230)in step 5470 and then the copy source deleting process 5400 iscompleted.

While the copy source registration process 5200 and the copy sourcedeleting process 5400 are executed by the host computer 1010 in thisembodiment, they can be executed by another computer connected to thenetwork 1020 or the NAS 1200. If so, the present invention is applicableapparently. (In both cases, however, there is a need for copying theupdate copy file table to each NAS 1200.)

Referring to FIG. 8, there is shown a flowchart of the readout processat occurrence of an error 5600 executed by the host computer 1010 toread out a file which has been remotely copied from the first NAS 1200to the second NAS 1200, when the first NAS 1200 becomes unusable due toan occurrence of an earthquake. Although how the read file is used isnot clearly stated in this process, it is expected to be treated in sucha way that the file is stored in a local disk connected to the hostcomputer 1010.

First, the copy file table 1300 is searched from the beginning for anentry whose source NAS of remote copy 1320 matches the unusable NAS 1200in step 5610. Unless the corresponding entry is determined to be foundin step 5620, the readout process at occurrence of the error 5600terminates. If it is determined to be found in step 5620, there isobtained information of the copy destination, namely, information of thetarget NAS of remote copy 1340 and information of the target directoryof remote copy 1350 from the corresponding entry in step 5630, and thenin step 5640 read requests are issued to the target NAS 1340 so as toread the file indicated by the target directory of remote copy 1350 andall the files stored in the subdirectories. Then, in step 5650 allcompletion notices are received from the target NAS 1200 and the controljumps to the step 5610.

In this manner, all of the remote copy files can be read out.

In the first embodiment, an abnormal termination is reported to the hostcomputer 1010 when the write operation to the remote copy destinationabnormally terminates in the write process 5000. In this condition, theprocess also abnormally terminates when a remote copy destination volumebecomes full. To prevent this, a free area of the remote copydestination volume must be always reserved. In the second embodiment,there is described a process of decreasing the above abnormalterminations by writing a file in an emergency area if the file cannotbe written into a remote copy destination volume since the volumebecomes full.

For simplification, parts different from the first embodiment will bemainly described here. The parts whose explanation is omitted are thesame as those of the first embodiment.

Referring to FIG. 9, there is shown a configuration diagram of acomputer system a 1030 according to this embodiment. The computer systema 1030 comprises a host computer 1010, a network 1020, NASa 1210, NASb1220, NASc 1230, and NASd 1240 having an emergency volume 1040 which isan area for storing files which failed in remote copy. A log file 1050described later exists in the emergency volume 1040. The NAS 1200 whichfailed in remote copy copies the file to the emergency volume 1040 andthen adds information of a single entry to the log file 1050.

The log file 1050 comprises one or more log file entries 1400 shown inFIG. 10. It has information of a write source NAS 1410 indicating theNAS 1200 which added the entry, a write source path 1420 having afull-path file name (in the write source NAS 1410) of a file whichfailed in remote copy, and a file name 1430 indicating the file in anemergency volume which corresponds to the remote-copy-failed file. Thefile names in the emergency volume 1040 are generated at random so thatthere is no identical file name in the emergency volume 1040.

Referring to FIG. 11, there is shown an example of the log file 1050. Inthis example, assuming an example of the copy file table 1300 shown inFIG. 4, there is shown an example of the log file 1050 when the hostcomputer 1010 writes a file /tako/ika.txt in NASa 1210 and a file/apple/t.c in NASa 1210 and errors occur at the remote copy operationsfor both files. The first entry is generated when an error occurs at anattempt of remote copy of the file /tako/ika.txt in NASa 1210 to /uni inNASb 1220 and the data is stored with a file name 00000123.yob into theemergency volume 1040 of NASd 1240. This entry includes NASa 1210 as asource NAS of the write operation 1410, /tako/ika.txt as a source pathof the write operation 1420, and 00000123.yob as a file name 1430.

The next entry is generated when an error occurs at an attempt of remotecopy of the file /apple/t.c in the NASa 1210 to /banana in the NASC 1230and therefore the data is stored with a file name 00000124.yob into theemergency volume 1040 of NASd 1240. This entry includes NASa 1210 as asource NAS of the write operation 1410, /apple/t.c as a source path ofthe write operation 1420, and 00000124.yob as a file name 1430.

Referring to FIG. 12, there is shown the emergency table 1500 managed bythe host computer 1010 and whose copies are stored in each NAS 1200(NASa 1210, NASb 1220, NASc 1230, and NASd 1240). The emergency table1500 is used for acquiring information related to an emergency storagearea in case of a failure of remote copy in the NAS 1200, havinginformation of an emergency NAS 1510 and an emergency directory 1520.

Referring to FIG. 13, there is shown an example of the emergency table1500. As described in FIG. 9, a file failing in remote copy is writteninto the emergency volume 1040 of NASd 1240. In the example shown inFIG. 13, the emergency NAS 1510 is NASd 1240 and the emergency directory1520 is /yobi indicating a directory of the emergency volume 1040. (Inother words, data is stored in the emergency volume 1040 if a file iswritten into /yobi or its subdirectories of NASd 1240.)

Referring to FIG. 14, there is shown a flowchart of the write process a5800 executed by a NAS 1200 when the host computer 1010 issues a writerequest to the NAS 1200.

First, a write request and data to be written are received through thenetwork 1020 from the host computer 1010 in step 5010 and the write datais written into the disk 1170 in step 5020. Then, the copy file table1300 is searched for a “corresponding” entry in step 5030. If the sourceNAS of remote copy 1320 indicates itself and the file to be written is afile indicated by the source directory of remote copy 1330 or a filestored in a directory indicated by the source directory of remote copy1330 or in its subdirectory, the file is determined to be“corresponding.”

Then, if it is determined that there is no “corresponding” entry in step5040, the control jumps to step 5070 described later and, if it isdetermined that there is the “corresponding” entry, a write request isissued so that the write requested file is written into a file or adirectory indicated by the target directory of remote copy 1350 in theNAS 1200 indicated by the target NAS of remote copy 1340 and then thefile data is transferred to the target NAS 1200 to await a completion ofthe write operation in step 5050.

In step 5060, if a normal completion is returned by the target NAS 1200into which the data is written, a completion notice is returned to thehost computer 1010 in step 5070 and the write process a 5800 completes.If an abnormal termination is returned, the remaining corrupted data ofthe file failing in the write operation is deleted in step 5810. Thisstep is necessary to prevent the computer from reading incorrect data atrecovery of the remote copy file, when the readout process at occurrenceof error 6200 described later is performed at the host computer afterthe NAS of the write process a 5800 becomes unavailable. Then,information of the emergency table 1500 is acquired in step 5820, a filename is generated at random so as to be unique in the directoryindicated by the emergency directory 1520 of the emergency NAS 1510 instep 5830, and the file failing in the write operation is written withthe generated file name into the emergency directory 1520 of theemergency NAS 1510.

Then, it is determined whether the write operation is successful in step5850; if it is unsuccessful, an error is reported to the host computer1010 in step 5880 and the write process a 5800 is terminated.

If the write operation is successful in step 5850, information of thesource NAS of the write operation 1410, the source path of the writeoperation 1420, and the generated file name 1430 are added in step 5860to the log file 1050 existing in the directory indicated by theinformation acquired in the step 5820. Then, it is determined whetherthe addition to the log file 1050 is successful in step 5870; if it issuccessful, the control jumps to the step 5070. Otherwise, it jumps tothe step 5880.

Referring to FIG. 15, there is shown a flowchart of the emergency tablesetting process 6000 executed by the host computer 1010 when a user setsan emergency volume 1040 for storing files failing in remote copy.

First, the user inputs an NAS 1200 as an emergency copy destination andset it to the emergency NAS 1510 on the emergency table 1500 in the hostcomputer 1010 in step 6010. Then, the user inputs a path (directory)indicating the emergency volume 1040 to set it to the emergencydirectory 1520 on the emergency table 1500 in the host computer 1010 instep 6020.

Finally, in step 6030 a copy of the updated emergency table 1500 istransferred to each NAS 1200 (in the configuration of this embodiment,NASa 1210, NASb 1220, NASc 1230, and NASd 1240) and the emergency tablesetting process 6000 terminates.

While the emergency table setting process 6000 is executed by the hostcomputer 1010 in this embodiment, it can be executed by another computerconnected to the network 1020 or by the NAS 1200 and naturally thepresent invention is applicable also in the case.

Referring to FIG. 16, there is shown a flowchart of the readout processat occurrence of an error a 6200 equivalent to the readout process atoccurrence of an error 5600 in FIG. 8 according to the first embodiment.

First, information of the emergency table 1500 is acquired in step 6210and a log file 1050 is read from the acquired emergency directory 1520in the acquired emergency NAS 1510 in step 6220. Then, in step 6230, anentry whose source NAS of the write operation 1410 matches anerror-occurred NAS 1200 is searched for in order from the beginning ofthe log file 1050. And the file indicated by the file name 1430 of thesearched entry is read out from the directory from which the log file1050 is read out. Then, it is determined whether this operation isperformed up to the end of the log file 1050 in step 6240; unless it isperformed, the control jumps to the step 6230. Otherwise, in step 6250,when files read in step 6230 have the same source NAS 1410 and the samesource directory 1420 in the log file 1050, the read files and the filesin the emergency directory except one which file name has finally(recently) appeared in the log file 1050 are deleted. Further, the logfile entries including the file names are deleted.

Then, the copy file table 1300 is searched for an entry whose source NASof remote copy 1320 matches the unusable NAS 1200 from the beginning inorder in step 5610 and, unless the corresponding entry exists in step5620, the readout process at occurrence of an error a 6200 terminates.If it exists, information of the target NAS of remote copy 1340 and thetarget directory of remote copy 1350 which is information of the copydestination is acquired from the entry and read requests are issued tothe target NAS 1340 so as to read the file indicated by the targetdirectory of remote copy 1350 and all the files stored in itssubdirectories in step 5640. Then, in step 5650 all completion noticesare received from the target NAS 1200 in the step 5650 and the controljumps to the step 5610.

In the third embodiment, a description will be given for a case in whichimportant files distributed in a plurality of NAS devices 1200 can bebacked up at a time. Parts otherwise described are the same as those forthe first embodiment.

Referring to FIG. 17, there is shown a computer system b 1060 accordingto the third embodiment.

The computer system b 1060 comprises a host computer 1010 for issuingfile access requests, a plurality of NAS devices 1200 for processingfile access requests issued by the host computer 1010; NASa 1210, NASb1220, NASc 1230, and NASe 1250, a data backup tape drive 1090 connectedto NASe 1250, and a network 1020 for connecting them. NASe 1250 containsa backup manager 1080 for performing a data backup process and a backupvolume 1070 to be backed up. The backup manager 1080 is a programexecuted by the CPU 1110 of the NAS controller 1100. The directorycorresponding to the backup volume 1070 is assumed to be represented by/bkup and its subdirectories;

Referring to FIG. 18, there is shown an example of the copy file table1300 according to the third embodiment.

At entry number 0, the source NAS of remote copy 1320 is NASa 1210, thesource directory of remote copy 1330 is /tako/ika.txt, the target NAS ofremote copy 1340 is NASe 1250, and the target directory of remote copy1350 is /bkup. At entry number 1, the source NAS of remote copy 1320 isNASb 1220, the source directory of remote copy 1330 is /foo/boo.c, thetarget NAS of remote copy 1340 is NASe 1250, and the target directory ofremote copy 1350 is /bkup. At entry number 2, the source NAS of remotecopy 1320 is NASc 1230, the source directory of remote copy 1330 is/important, the target NAS of remote copy 1340 is NASe 1250, and thetarget directory of remote copy 1350 is /bkup. At entry number 3 andafter, value −1 is entered in the source NAS 1320, indicating an invalidentry.

In this manner, all of the remote copy destinations are collected in asingle place, namely, the backup volume 1070 indicated by /bkup of NASe1250 in this embodiment. To back up important files to be sources ofremote copy at a time, the backup volume 1070 is backed up only.

Referring to FIG. 19, there is shown remote copy and backup data flowsaccording to this embodiment.

Remote copy from NASa 1210, NASb 1220, and NASc 1230 is executed to thebackup volume of NASe 1250, and the backup manager 1080 backs up thebackup volume 1070 into a tape at a time. In this manner, importantfiles are collected in a single volume and then backed up, instead ofbacking up the important files distributed among the NAS devices 1200individually, thereby saving a lot of time for the backup.

Referring to FIG. 20, there is shown a flowchart of the backup process6400 executed by the backup manager 1080.

In step 6410, the backup manager 1080 backs up the backup volume 1070into the tape 1090 and the backup process 6400 completes.

In the fourth embodiment, only points different from the firstembodiment will be described by giving an example of using a dedicatednetwork for remote copy between NAS devices. While disk controllers forremote copy are directly connected through ESCON or FC (fibre channel)lines for conventional remote copy at a block level in most cases, theNAS devices are connected through dedicated lines in the sameconfiguration so as to be separated from a normal network to which thehost computer and the NASs are connected.

Referring to FIG. 21, there is shown a configuration of a computersystem c1065 according to this embodiment.

The computer system c1065 comprises a host computer 1010 for issuing afile access request, a plurality of NAS devices 1200 for processing thefile access request issued by the host computer 1010; NASa 1210, NASb1220, and NASc 1230, a network 1020 for connecting the host computer1010 to NASa 1210, a dedicated network a 1222 for connecting NASa 1210to NASb 1220, and a dedicated network b 1224 for connecting NASa 1210 toNASc 1230.

The network 1020 is an IP network using Ethernet or the like and isassumed to be shared among a lot of computers not shown in the diagram.

Both of the dedicated network a 1222 and the dedicated network b 1224are assumed to be FC (fibre channel or it can be ESCON) lines and theyare independent of the network 1020.

While the FC is normally used for a block I/O access using the FCP(fibre channel protocol) standard, a file access using the NFS or thelike which assumes IP is enabled through FC by passing IP through FCusing the IP and ARP over Fibre Channel (RFC 2625) settled by the IETF(Internet Engineering Task Force).

According to the present invention, a remote copy specification isrealized in units of more detailed data such a file or a directory inthe NAS.

1. A file level copy method in at least one storage devices connected to a computer via a network, comprising the steps of: receiving a write request from said computer to a file; retaining information for specifying a remote copy destination in units of a file or a directory; and executing a remote copy operation of said file to another storage device accessible via said network on the basis of said information.
 2. A method according to claim 1, further comprising retaining information for specifying an emergency remote copy destination in case of a failure of remote copy to said remote copy destination in addition to said information.
 3. A computer system, comprising: at least one computers; at least one storage devices; and a network for connecting said computers and said storage devices with each other; wherein, said storage device accepts a write request from said computer to a file, retains information for specifying a remote copy destination in units of a file or a directory, and executes a remote copy operation of said file to another storage accessible via said network.
 4. A system according to claim 3, further comprising means for inputting information for specifying said remote copy destination.
 5. A system according to claim 4, wherein said computer has means for inputting information for specifying said remote copy destination.
 6. A system according to claim 4, wherein said storage device has means for inputting information for specifying said remote copy destination.
 7. A system according to claim 3, wherein remote copy destinations of files individually stored in at least two volumes are set to an identical volume.
 8. A system according to claim 3, wherein remote copy destinations of two files stored in an identical volume are set to different volumes. 